﻿using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing;

namespace EcoSystem
{

    /// <summary>
    /// 组织架构信息
    /// </summary>
    public class Organization : FullAuditedAggregateRoot<Guid>
    {
        /// <summary>
        /// 机构树分组编码
        /// </summary>
        [MaxLength(32)]
        public string GroupName { get; set; }

        /// <summary>
        /// 上级节点
        /// </summary>
        public Guid ParentId { get; set; }

        /// <summary>
        /// 节点类型
        /// </summary>
        public StructureNodeType NodeType { get; set; }

        /// <summary>
        /// 节点名称
        /// </summary>
        [MaxLength(32)]
        public string Name { get; set; }

        /// <summary>
        /// 编码
        /// </summary>
        [MaxLength(64)]
        public string PathCode { get; set; }


        /// <summary>
        /// 挂接对象编码
        /// </summary>
        [MaxLength(64)]
        public string EnCode { get; set; }

        /// <summary>
        /// 职务
        /// </summary>
        [MaxLength(64)]
        public string PostName { get; set; }

        /// <summary>
        /// 挂接部门名称
        /// </summary>
        [MaxLength(64)]
        public string DepName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(128)]
        public string Remarks { get; set; }

        /// <summary>
        /// 启用状态
        /// </summary>
        public bool Status { get; set; }

    }
}
